package auth

type AuthNode struct {
	ID         int    `gorm:"column:id;primary_key" json:"id"`
	OperatorID int    `gorm:"column:operator_id" json:"operator_id,omitempty"`
	ParentID   int    `gorm:"column:parent_id" json:"parent_id"`
	Name       string `gorm:"column:name;unique" json:"name,omitempty"`
	Title      string `gorm:"column:title" json:"title"`
	Icon       string `gorm:"column:icon" json:"icon"`
	Path       string `gorm:"column:path" json:"path,omitempty"`
	Status     int    `gorm:"column:status" json:"status,omitempty"`
	IsMenu     int    `gorm:"column:is_menu" json:"is_menu"`
	Sort       int    `gorm:"column:sort" json:"sort"`
	Hidden     int    `gorm:"column:hidden" json:"hidden"`
	CreateTime int    `gorm:"column:create_time" json:"create_time,omitempty"`
	UpdateTime int    `gorm:"column:update_time" json:"update_time,omitempty"`
	DeleteTime int    `gorm:"column:delete_time" json:"delete_time,omitempty"`
}

type NodeTreeItem struct {
	ID       int            `gorm:"column:id;primary_key" json:"id"`
	ParentID int            `gorm:"column:parent_id" json:"parent_id"`
	Title    string         `gorm:"column:title" json:"title"`
	Icon     string         `gorm:"column:icon" json:"icon"`
	Path     string         `gorm:"column:path" json:"path,omitempty"`
	IsMenu   int            `gorm:"column:is_menu" json:"is_menu"`
	Hidden   int            `gorm:"column:hidden" json:"hidden"`
	Children []NodeTreeItem `json:"children,omitempty"`
}

func (AuthNode) TableName() string {
	return "tk_system_auth_node"
}
